package com.dragon.modules.yuegou.entity.wallet;

import com.baomidou.mybatisplus.annotation.TableName;
import com.dragon.modules.yuegou.enums.wallet.CardPresentType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.time.LocalDateTime;

/**
 * 悦卡赠送实体类<br>
 * 对应的表为：walt_card_present<br>
 * 
 * @author pbuilder generated
 * @date 2019-06-03 15:20:35
 * @company sgy
 * @version 2.0
 */
@TableName("walt_card_present")
@ApiModel(description = "悦卡赠送")
public class CardPresentEntity {

    /**  */
	protected String id;

    /** 赠送ID */
	@ApiModelProperty("赠送ID")
	protected String memberId;

    /** 赠送数量 */
	@ApiModelProperty("赠送数量")
	protected Integer num;

    /** 已提取数量 */
	@ApiModelProperty("已提取数量")
	protected Integer extractedNum;

    /** [枚举]赠送类型：0-赠送给好友-TO_FRIENDS、1-生成提取码-GENERATE_CODE */
	@ApiModelProperty("[枚举]赠送类型：0-赠送给好友-TO_FRIENDS、1-生成提取码-GENERATE_CODE")
	protected CardPresentType type;

    /** 提取时间 */
	@ApiModelProperty("提取时间")
	protected LocalDateTime createdTime;

	/**
	 * 构造一个空悦卡赠送实体对象
	 */
	public CardPresentEntity(){
		super();
	}

	/**
	 * 依据其它对象的信息构造一个悦卡赠送实体对象
	 * 
	 * @param other 其它对象
	 */
	public CardPresentEntity(CardPresentEntity other){
		super();
     	this.id = other.id;
     	this.memberId = other.memberId;
     	this.num = other.num;
     	this.extractedNum = other.extractedNum;
     	this.type = other.type;
     	this.createdTime = other.createdTime;
	}


	/**
	 * 获取
	 * 
	 * @return id 
	 */
	public String getId() {
		return id;
	}
  	
	/**
	 * 设置
	 * 
	 * @param id 
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * 获取赠送ID
	 * 
	 * @return memberId 赠送ID
	 */
	public String getMemberId() {
		return memberId;
	}
  	
	/**
	 * 设置赠送ID
	 * 
	 * @param memberId 赠送ID
	 */
	public void setMemberId(String memberId) {
		this.memberId = memberId;
	}

	/**
	 * 获取赠送数量
	 * 
	 * @return num 赠送数量
	 */
	public Integer getNum() {
		return num;
	}
  	
	/**
	 * 设置赠送数量
	 * 
	 * @param num 赠送数量
	 */
	public void setNum(Integer num) {
		this.num = num;
	}

	/**
	 * 获取已提取数量
	 * 
	 * @return extractedNum 已提取数量
	 */
	public Integer getExtractedNum() {
		return extractedNum;
	}
  	
	/**
	 * 设置已提取数量
	 * 
	 * @param extractedNum 已提取数量
	 */
	public void setExtractedNum(Integer extractedNum) {
		this.extractedNum = extractedNum;
	}

	/**
	 * 获取[枚举]赠送类型：0-赠送给好友-TO_FRIENDS、1-生成提取码-GENERATE_CODE
	 * 
	 * @return type [枚举]赠送类型：0-赠送给好友-TO_FRIENDS、1-生成提取码-GENERATE_CODE
	 */
	public CardPresentType getType() {
		return type;
	}
  	
	/**
	 * 设置[枚举]赠送类型：0-赠送给好友-TO_FRIENDS、1-生成提取码-GENERATE_CODE
	 * 
	 * @param type [枚举]赠送类型：0-赠送给好友-TO_FRIENDS、1-生成提取码-GENERATE_CODE
	 */
	public void setType(CardPresentType type) {
		this.type = type;
	}

	/**
	 * 获取提取时间
	 * 
	 * @return createdTime 提取时间
	 */
	public LocalDateTime getCreatedTime() {
		return createdTime;
	}
  	
	/**
	 * 设置提取时间
	 * 
	 * @param createdTime 提取时间
	 */
	public void setCreatedTime(LocalDateTime createdTime) {
		this.createdTime = createdTime;
	}

    public String toString() {
		return new StringBuilder().append("CardPresentEntity{").
			append("id=").append(id).
			append(",memberId=").append(memberId).
			append(",num=").append(num).
			append(",extractedNum=").append(extractedNum).
			append(",type=").append(type).
			append(",createdTime=").append(createdTime).
			append('}').toString();
    }

	/**
	 * 复制对象
	 * 
	 * @return 复制后的新实体对象
	 */
	public CardPresentEntity copy() {
		return new CardPresentEntity(this);
	}

    /**  */
	public static final String COL_ID = "id";

    /** 赠送ID */
	public static final String COL_MEMBER_ID = "member_id";

    /** 赠送数量 */
	public static final String COL_NUM = "num";

    /** 已提取数量 */
	public static final String COL_EXTRACTED_NUM = "extracted_num";

    /** [枚举]赠送类型：0-赠送给好友-TO_FRIENDS、1-生成提取码-GENERATE_CODE */
	public static final String COL_TYPE = "type";

    /** 提取时间 */
	public static final String COL_CREATED_TIME = "created_time";
}
